"""
课堂练习:
    1.创建一个空列表，命名为names, 往里面添加: 
        Luna, Jack, Rain, Jam, Lucy, Young
    2.在names列表中Young元素前面插入-个Jane
    3.把names列表中的Jack的名字改成David
    4.在names列表中，删除Lucy的名字(使用3种方法)
    5.在names列表中插入-个子列表['Tom','Jerry']，并打印出Jerry的名字。
    6.在names列表中，打印出Rain的索引值(下标值)
    7.创建列表[1,2,3,4]，合并到names列表中，并打印结果(使用2种方法)
    8.取出names列表中，最后3个元素。
    9.删除names列表中末尾的元素，删除两次
    10.在names列表末尾添加"Alex" 。
    11.清空names列表

梳理下List中的方法有哪些
        增
            1.insert(index,object) 指定位置添加元素
                    insert(self, index, object, /)
                    Insert object before index.
            2.append(object) 末尾顺序添加一个元素
                    append(self, object, /)
                    Append object to the end of the list.
            3. extend(seq) 添加一个可以被迭代的对象.
                    extend(self, iterable, /)
                    Extend list by appending elements from the iterable.

        删
            1.list.remove(obj) 移除指定的对象
            2.pop(index=-1) 在使用时可以给index 也可以不给index.如果不给默认为最后一个元素
                    pop(self, index=-1, /)
                    Remove and return item at index (default last).
                    Raises IndexError if list is empty or index is out of range.
            3.del list[下标]
>>>
        改
        查
    


"""	

# 引用变量 执行 对象 : 遥控器 操作 空调/电视机
lst = []
# 把一个序列(目前已学的序列只有两个:str字符串和list列表)
lst = list("abc")
#print(lst)
# 等价于创建一个空的列表
lst = list()
#print(type(lst))
# 通过添加列表的方式把姓名添加到列表中.
lst.extend(["Luna","Jack","Rain","Jam","Lucy","Young"])
print(lst)



# 在young的前面加入Jane
# list.index(obj) 在list中查找obj返回第一个匹配的下标
lst.insert(lst.index("Young"),"Jane")
print(lst)


#3.把names列表中的Jack的名字改成David
lst[lst.index("Jack")]="David"
print(lst)

#4.在names列表中，删除Lucy的名字(使用3种方法)
# lst.remove("Lucy")
# lst.pop(lst.index("Lucy"))
del lst[lst.index("Lucy")]
print(lst)

#5.在names列表中插入-个子列表['Tom','Jerry']，并打印出Jerry的名字。
#lst.extend(["Tom","Jerry"])
#print(len(lst))
# 最后一个元素的下标是长度-1
#print(lst[len(lst) - 1])

lst.append(["Tom","Jerry"])
# print(lst[len(lst)-1][1])
index = len(lst)-1 # 获取最后一个元素的下标.append 是顺序添加.
last_element = lst[index]
#print(type(last_element))
# 取字列表last_element中第二个元素
print(last_element[1])
# 等号是等价的. 能写等号的左边就可以用等号的右边来代替
print(lst[len(lst)-1][1])


# 6.在names列表中，打印出Rain的索引值(下标值)
print(lst.index("Rain"))

# 7.创建列表[1,2,3,4]，合并到names列表中，并打印结果(使用2种方法)
new_lst = [i for i in range(1,5)]
print(new_lst)
lst = lst+new_lst
print(lst)

# 8.取出names列表中，最后3个元素。
print(lst[len(lst)-3:])
print(lst[-3::1])
# 9.删除names列表中末尾的元素，删除两次
lst.pop()
lst.pop()

# 10.在names列表末尾添加"Alex" 。
# 这样写是修改.不可以添加
lst[len(lst)-1] = "Alex"
lst.append("alex")
print(lst)
# 11.清空names列表
lst.clear()
print(lst)


